package com.cheng.example.atguigu.design_pattern.decorator.test;

import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.IOException;

/*
 * @author 程帅
 * @createTime: 2020/10/17 19:45
 * @Created: with IntelliJ IDEA.
 */
public class Decorator {

    public static void main(String[] args) throws IOException {

        //说明
        //1、InputStream 是抽象类，类似我们前面讲的Drink
        //2、FileInputStream 是InputStream 子类：类似我们前面的DeCaf, LongBlack
        //3、FilterInputStream 是 InputStream 子类，具体的修饰者，类似前面的Milk,Soy等
        //4、DataInputStream 是FilterInputStream子类，具体的修饰者，类似前面的Milk,Soy等
        //5、FilterInputStream类有 protected volatile InputStream in; 即含被修饰者
        //6、分析得出在jdk 的io体系，就是使用装饰者模式

        DataInputStream dis = new DataInputStream(new FileInputStream("c:\\abc.txt"));
        System.out.println(dis.read());
        dis.close();
    }
}
